Preamble
In [1]:
%pylab inline
%load_ext physics
from __future__ import division
from matplotlib.pyplot import plot
import matplotlib.pyplot as plt
import numpy as np
from numpy import sqrt, cos, sin, log, exp
from lmfit import lmfit
from matplotlib.path import Path
import matplotlib.patches as patches
import scipy.constants as const
matplotlib.rcParams.update({'font.size': 14, 'font.family': 'serif'})
Eine elektromagnetische Welle $\mathbf{E}$, die auf ein dielekrisches Medium fällt, erzeugt eine dielektrische Polarisation $$ \mathbf{P}(E) = \varepsilon_0 (\chi^{(1)}\mathbf{E} + \chi^{(2)}\mathbf{E}^2 + \chi^{(3)}\mathbf{E}^3 + \ldots )$$ mit Suszeptibilität n-ter Ordnung $\chi^{(n)}$.
where $\omega_1 > \omega_2$
In [6]:
def dfg(lambda1, lambda2=None, dfg=None):
"""
lambda1, lambda2, dfg: Wavelength of the waves in nm.
Notice that lambda1 > lambda2 when calculating lambda2 from lambda1 and dfg.
"""
if dfg == None:
return 1/(abs(1/lambda1 - 1/lambda2))
else:
f2 = 1/lambda1 + 1/dfg
return 1/f2
In [7]:
print dfg(1064, 688)
print dfg(1064, dfg=1950)
In [8]:
def idler(pump, signal=None, idler=None):
"""
pump, signal, idler: Wavelength of the waves in nm.
"""
if idler == None:
return dfg(pump, signal)
else:
return dfg(pump, dfg=-idler)
In [9]:
print idler(1064, dfg(1064, 688))
print idler(1064, idler=2346)
In [25]: